﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BPMS.Utility.Logging
{
    public class LogEntry
    {
        /// <summary>
        /// 计算机名称
        /// </summary>
        public string ManchineName { get; set; }

        /// <summary>
        /// 当前用户名
        /// </summary>
        public string UserName { get; set; }

        /// <summary>
        /// 应用程序域名称
        /// </summary>
        public string AppDomainName { get; set; }

        /// <summary>
        /// 客户端浏览器
        /// </summary>
        public string Browser { get; set; }

        /// <summary>
        /// 客户端IP
        /// </summary>
        public string IP { get; set; }

        /// <summary>
        /// 当前线程名称
        /// </summary>
        public string ThreadName { get; set; }

        /// <summary>
        /// 调用方法名称
        /// </summary>
        public string MethodName { get; set; }

        /// <summary>
        /// 日志等级
        /// </summary>
        public byte EventLevel { get; set; }

        /// <summary>
        /// 日志分类
        /// </summary>
        public byte EventCategory { get; set; }

        /// <summary>
        /// 日志内容
        /// </summary>
        public string MessageInfo { get; set; }

        /// <summary>
        /// 日志记录时间
        /// </summary>
        public DateTime CreateTime { get; set; }
    }

    /// <summary>
    /// 日志等级 
    /// 由高到底 OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL 
    /// 其中OFF表示停用所以日志记录，ALL表示所有日志都可以记录
    /// </summary>
    public enum EventLevel : byte
    {
        FATAL,
        ERROR,
        WARN,
        INFO,
        DEBUG
    }

    /// <summary>
    /// 日志业务分类
    /// </summary>
    public enum EventCategory : byte
    {
        Default,
        DbContext
    }
}
